The invention relates generally to telecommunication switches. More specifically, the invention relates to priority-provisioned arbitration scheduling for a switch fabric (e.g., a switch fabric with an input-buffered switch architecture).
Known switch fabrics with crossbar architectures exist where data cells received on the multiple input ports of the switch are sent to the various output ports of the switch. Scheduling techniques ensure that the data cells received from different input ports are not sent to the same output port at the same time. These techniques determine the temporary connections between input ports and output ports, via the switch fabric, for a given time slot.
Scheduling techniques can be evaluated based on a number of performance requirements to a broad range of applications. Such performance requirements can include, for example, operating at a high speed, providing a high throughput (i.e., forwarding as many data packets as possible for each time slot), guaranteeing quality of service (QoS) for specific users, and being easily implemented in hardware. Known scheduling techniques trade one or more performance areas for other performance areas.
For example, U.S. Pat. No. 5,500,858 to McKeown discloses one known scheduling technique for an input-queued switch. This known scheduling technique uses rotating priority iterative matching to schedule forwarding of data across the crossbar of the switch fabric. When the data cells are received at the input ports in a uniform manner (i.e., in a uniform traffic pattern per port), this known scheduler can produce 100 throughput of data cells across the switch fabric. When the data cells are received at the input ports, however, in a non-uniform manner, more typical of actual data traffic, the throughput from this known scheduling technique substantially decreases.
Thus, a need exists to provide a scheduling technique that can perform effectively for various traffic patterns and multiple performance requirements, such as for example, operating at a high speed, providing a high throughput, guaranteeing QoS, and being easily implemented in hardware.